all: encoder

encoder: hasher.o hashtbl.o classes.o encoder.o
	g++ -o encoder -Wall -pedantic -g hasher.o hashtbl.o classes.o encoder.o

hasher.o: hasher.cc EncodedStructs.h hashtbl.h
	g++ -o hasher.o -Wall -pedantic -g -c hasher.cc

hashtbl.o: hashtbl.cc hashtbl.h
	g++ -o hashtbl.o -Wall -pedantic -g -c hashtbl.cc

classes.o: AssemblerClasses.cpp AssemblerClasses.h
	g++ -o classes.o -Wall -pedantic -g -c AssemblerClasses.cpp

encoder.o: encoder.cc EncodedStructs.h hashtbl.h
	g++ -o encoder.o -Wall -pedantic -g -c encoder.cc

clean:
	rm -f *.o

